<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{
    margin: 0;
    padding: 0;
}
.tab{
    width: 600px;
    margin: 100px auto 0;
}
.options{
    overflow: hidden;
    border-top: 2px solid #06A86E;
}
.options h3{
    float: left;
    width: 150px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background-color: #F7F8F8;
    font-size: 18px;
    font-weight: normal;
    color: #666;
    cursor: pointer;
}
.contents{
    height: 200px;
    padding: 10px 0;
    overflow: hidden;
}
.contents div{
    overflow: hidden;
    margin-bottom: 10px;
    display: none;
}
.contents div img{
    width: 150px;
    height: 200px;
    float: left;
}
/* 选中状态的样式 */
.options h3.active{
    color: #fff;
    background-color: #06A86E;
}
.contents div.show{
    display: block;
}
</style>
</head>
<body>
    
<!-- 最外层容器 -->
<div class="tab">
    <!-- 选项区 -->
    <div class="options">
        <h3 class="active">科幻</h3>
        <h3>爱情</h3>
        <h3>动作</h3>
        <h3>喜剧</h3>
    </div>
    <!-- 内容区 -->
    <div class="contents">
        <div class="show">
            <img src="./imgs/e1.png" alt="">
            <img src="./imgs/e1.png" alt="">
            <img src="./imgs/e1.png" alt="">
            <img src="./imgs/e1.png" alt="">
        </div>
        <div>
            <img src="./imgs/e2.png" alt="">
            <img src="./imgs/e2.png" alt="">
            <img src="./imgs/e2.png" alt="">
            <img src="./imgs/e2.png" alt="">
        </div>
        <div>
            <img src="./imgs/e3.png" alt="">
            <img src="./imgs/e3.png" alt="">
            <img src="./imgs/e3.png" alt="">
            <img src="./imgs/e3.png" alt="">
        </div>
        <div>
            <img src="./imgs/e4.png" alt="">
            <img src="./imgs/e4.png" alt="">
            <img src="./imgs/e4.png" alt="">
            <img src="./imgs/e4.png" alt="">
        </div>
    </div>
</div>

<script>
// 选项卡切换（tab切换）
// 最基础 最实用 最广泛
// 要求：必须要熟练掌握原理和具体实现！！！
// 目的：节约空间，提高用户体验

// 选项卡切换的关键思路：
// 1.每一个选项都有一个点击事件
// 2.当前点击选项添加选中状态，其他选项去掉选中状态
// 3.当前点击选项对应的内容显示，其他内容隐藏

// 结构布局：
// 分两个区域：1.选项区  2.内容区

// 获取元素
var h3s = document.querySelectorAll('.options h3');
var divs = document.querySelectorAll('.contents div');
// console.log( h3s.length );// 4
// console.log( divs.length );// 4

// 给h3选项添加点击事件
h3s[0].onclick = function (){
    h3s[0].className = 'active';// 添加选中状态
    h3s[1].className = '';// 去掉选中状态
    h3s[2].className = '';// 去掉选中状态
    h3s[3].className = '';// 去掉选中状态

    divs[0].className = 'show';// 显示内容
    divs[1].className = '';// 隐藏内容
    divs[2].className = '';// 隐藏内容
    divs[3].className = '';// 隐藏内容
}

h3s[1].onclick = function (){
    h3s[1].className = 'active';// 添加选中状态
    h3s[0].className = '';// 去掉选中状态
    h3s[2].className = '';// 去掉选中状态
    h3s[3].className = '';// 去掉选中状态

    divs[1].className = 'show';// 显示内容
    divs[0].className = '';// 隐藏内容
    divs[2].className = '';// 隐藏内容
    divs[3].className = '';// 隐藏内容
}

h3s[2].onclick = function (){
    h3s[2].className = 'active';// 添加选中状态
    h3s[0].className = '';// 去掉选中状态
    h3s[1].className = '';// 去掉选中状态
    h3s[3].className = '';// 去掉选中状态

    divs[2].className = 'show';// 显示内容
    divs[0].className = '';// 隐藏内容
    divs[1].className = '';// 隐藏内容
    divs[3].className = '';// 隐藏内容
}

h3s[3].onclick = function (){
    h3s[3].className = 'active';// 添加选中状态
    h3s[0].className = '';// 去掉选中状态
    h3s[1].className = '';// 去掉选中状态
    h3s[2].className = '';// 去掉选中状态

    divs[3].className = 'show';// 显示内容
    divs[0].className = '';// 隐藏内容
    divs[1].className = '';// 隐藏内容
    divs[2].className = '';// 隐藏内容
}

</script>
</body>
</html>